window: Unrealize renderer last
authorBenjamin Otte <otte@redhat.com>
Tue, 15 Nov 2016 05:43:47 +0000 (06:43 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 15 Nov 2016 16:49:19 +0000 (17:49 +0100)
We want to unrealize the renderer only after all widgets have been
unrealized. Otherwise, the widgets cannot release rendering resources
like textures.

gtk/gtkwindow.c

index 6232fcb1b0d5548351ec8387f827898d5437a3d2..cef269a5b2856fba06431dc8cd5c3a9cff7e4bab 100644 (file)
@@ -7138,9 +7138,6 @@ gtk_window_unrealize (GtkWidget *widget)
   GList *link;
   gint i;
 
-  if (priv->renderer != NULL)
-    gsk_renderer_unrealize (priv->renderer);
-
   /* On unrealize, we reset the size of the window such
    * that we will re-apply the default sizing stuff
    * next time we show the window.
@@ -7192,6 +7189,9 @@ gtk_window_unrealize (GtkWidget *widget)
   GTK_WIDGET_CLASS (gtk_window_parent_class)->unrealize (widget);
 
   priv->hardcoded_window = NULL;
+
+  if (priv->renderer != NULL)
+    gsk_renderer_unrealize (priv->renderer);
 }
 
 static void